<!--
  Copyright JS Foundation and other contributors, http://js.foundation
  Licensed under the Apache License, Version 2.0 (the "License");
  you may not use this file except in compliance with the License.
  You may obtain a copy of the License at
  http://www.apache.org/licenses/LICENSE-2.0
  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.
-->

<script type="text/html" data-help-name="mqtt in">
  <p>
    Подключается к MQTT брокеру и подписывается на сообщения указанной темы.
  </p>

  <h3>Выводит</h3>
  <dl class="message-properties">
    <dt>payload <span class="property-type">строка | буфер</span></dt>
    <dd>строка, если не обнаружено как двоичный буфер.</dd>
    <dt>topic <span class="property-type">строка</span></dt>
    <dd>тема MQTT, использует / в качестве разделителя иерархии.</dd>
    <dt>qos <span class="property-type">число</span> </dt>
    <dd>0: приходит не более одного раза, 1: приходит не менее одного раза, 2: приходит только один раз.</dd>
    <dt>retain <span class="property-type">логич.тип</span></dt>
    <dd>значение true указывает, что сообщение было сохранено и может быть устаревшим.</dd>
  </dl>

  <h3>Подробности</h3>
  <p>
    Тема подписки может включать подстановочные знаки MQTT, + для одного уровня, # для нескольких уровней.
  </p>
  <p>
    Для этого узла требуется соединение с брокером MQTT. Это настраивается нажатием на значок карандаша.
  </p>
  <p>
    Несколько MQTT узлов (in или out) могут совместно использовать одно и то же соединение с брокером, если это необходимо.
  </p>
</script>

<script type="text/html" data-help-name="mqtt out">
  <p>
    Подключается к MQTT брокеру и публикует сообщения.
  </p>

  <h3>Принимает</h3>
  <dl class="message-properties">
    <dt>payload <span class="property-type">строка | буфер</span></dt>
    <dd>данные для публикации. Если это свойство не установлено, сообщение не будет отправлено. Чтобы отправить пустое сообщение, установите для этого свойства пустую строку.</dd>

    <dt class="optional">topic <span class="property-type">строка</span></dt>
    <dd>тема MQTT для публикации.</dd>

    <dt class="optional">qos <span class="property-type">number</span></dt>
    <dd>0: приходит не более одного раза, 1: приходит не менее одного раза, 2: приходит только один раз. По умолчанию 0.</dd>

    <dt class="optional">retain <span class="property-type">boolean</span></dt>
    <dd>установите значение true, чтобы сохранить сообщение в брокере. По умолчанию false.</dd>
  </dl>

  <h3>Подробности</h3>
  <p>
    Свойство <code>msg.payload</code> используется в качестве данных опубликованного сообщения. Если оно содержит объект, то он будет преобразован в строку JSON перед отправкой. Если оно содержит двоичный буфер, сообщение будет опубликовано как есть.
  </p>
  <p>
    Используемая тема может быть настроена в узле или, если оставить ее пустой, может быть установлена с помощью <code>msg.topic</code>.
  </p>
  <p>
    Аналогично, значения QoS и сохранения могут быть сконфигурированы в узле или, если они оставлены пустыми, установлены с помощью <code>msg.qos</code> и <code>msg.retain</code> соответственно. Чтобы удалить ранее сохраненную тему из брокера, отправьте пустое сообщение в эту тему с установленным флагом сохранения.
  </p>
  <p>
    Для этого узла требуется соединение с брокером MQTT. Это настраивается нажатием на значок карандаша.
  </p>
  <p>
    Несколько узлов MQTT (in или out) могут совместно использовать одно и то же соединение с брокером, если это необходимо.
  </p>
</script>

<script type="text/html" data-help-name="mqtt-broker">
  <p>
    Конфигурация для подключения к MQTT брокеру.
  </p>
  <p>
    Эта конфигурация создаст одно соединение с посредником, которое затем может быть повторно использовано узлами <code>MQTT In</code> и <code>MQTT Out</code>.
  </p>
  <p>
    Узел сгенерирует случайный идентификатор клиента, если он не задан, а узел настроен на использование соединения с чистым сеансом. Если идентификатор клиента установлен, он должен быть уникальным для брокера, к которому вы подключаетесь.
  </p>

  <h4>Birth сообщение</h4>
  <p>
    Это сообщение будет опубликовано в настроенной теме при каждом установлении соединения.
  </p>

  <h4>Close сообщение</h4>
  <p>
    Это сообщение будет опубликовано в настроенной теме перед тем, как соединение будет закрыто обычным образом, либо путем повторного развертывания узла, либо остановкой.
  </p>

  <h4>Will сообщение</h4>
  <p>
    Это сообщение, которое будет опубликовано брокером в случае, если узел неожиданно потеряет соединение.
  </p>

  <h4>WebSockets</h4>
  <p>
    Узел может быть настроен на использование WebSocket соединения. Для этого в поле Сервер должен быть указан полный URI для соединения. Например:
  </p>
  <pre>ws://example.com:4000/mqtt</pre>

</script>
